<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>建立未解析实体定义声明处理器</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.xml-set-start-namespace-decl-handler.html">xml_set_start_namespace_decl_handler</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="book.xmlreader.html">XMLReader</a></div>
 <div class="up"><a href="ref.xml.html">XML 解析器函数</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="function.xml-set-unparsed-entity-decl-handler" class="refentry">
   <div class="refnamediv">
    <h1 class="refname">xml_set_unparsed_entity_decl_handler</h1>
    <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">xml_set_unparsed_entity_decl_handler</span> &mdash; <span class="dc-title">
     建立未解析实体定义声明处理器
    </span></p>

   </div>
 <div class="refsect1 description" id="refsect1-function.xml-set-unparsed-entity-decl-handler-description">
  <h3 class="title">说明</h3>
    <div class="methodsynopsis dc-description">
     <span class="type">bool</span> <span class="methodname"><strong>xml_set_unparsed_entity_decl_handler</strong></span>
      ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$parser</code></span>
   , <span class="methodparam"><span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span> <code class="parameter">$handler</code></span>
     )</div>

    <p class="para rdfs-comment">
     为 <em><code class="parameter">parser</code></em> 参数指定的 XML 解析器建立未解析实体定义声明处理器函数。
     
    </p>
    <p class="para">
     当 XML 解析器遇到如下含有 NDATA 声明的外部实体定义声明时，该 <em><code class="parameter">handler</code></em> 处理器将被调用：
     <div class="example-contents">
<div class="xmlcode"><pre class="xmlcode">&lt;!ENTITY &lt;parameter&gt;name&lt;/parameter&gt; {&lt;parameter&gt;publicId&lt;/parameter&gt; | &lt;parameter&gt;systemId&lt;/parameter&gt;} 
        NDATA &lt;parameter&gt;notationName&lt;/parameter&gt;</pre>
</div>
     </div>

    </p>
    <p class="para">
     请参阅 <a href="http://www.w3.org/TR/1998/REC-xml-19980210#sec-external-ent" class="link external">&raquo;&nbsp;XML 1.0 参考的第 4.2.2 节</a>以获取有关已声明外部实体注释定义的信息。
    </p> 
 </div>


 <div class="refsect1 parameters" id="refsect1-function.xml-set-unparsed-entity-decl-handler-parameters">
  <h3 class="title">参数</h3>
  <p class="para">
   <dl>

    
     <dt>
<em><code class="parameter">parser</code></em></dt>

     <dd>

      <p class="para">
       XML 解析器的引用，用于建立未解析实体定义声明处理器。
      </p>
     </dd>

    
    
     <dt>
<em><code class="parameter">handler</code></em></dt>

     <dd>

      <p class="para">
       参数<em><code class="parameter">handler</code></em> 为表示函数名称的字符串，这个函数必须在为 <em><code class="parameter">parser</code></em> 指定的解析器调用 <span class="function"><a href="function.xml-parse.html" class="function">xml_parse()</a></span> 函数时已存在。
      </p>
      <p class="para">
       由 <em><code class="parameter">handler</code></em> 参数命名的函数名必须接受六个参数：
       <div class="methodsynopsis dc-description">
        <span class="methodname"><span class="replaceable">handler</span></span>
         ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$parser</code></span>
        , <span class="methodparam"><span class="type">string</span> <code class="parameter">$entity_name</code></span>
        , <span class="methodparam"><span class="type">string</span> <code class="parameter">$base</code></span>
        , <span class="methodparam"><span class="type">string</span> <code class="parameter">$system_id</code></span>
        , <span class="methodparam"><span class="type">string</span> <code class="parameter">$public_id</code></span>
        , <span class="methodparam"><span class="type">string</span> <code class="parameter">$notation_name</code></span>
        )</div>

       <dl>

        
         <dt>
<em><code class="parameter">parser</code></em></dt>

         <dd>

          <span class="simpara">
           第一个参数 <span class="replaceable">parser</span> 为指向要调用处理器的 XML 解析器的指针。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">entity_name</code></em></dt>

         <dd>

          <span class="simpara">
           将被定义的实体名。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">base</code></em></dt>

         <dd>

          <span class="simpara">
           这个参数是解析外部实体的系统标识符（<em><code class="parameter">system_id</code></em>）的基础。当前该参数通常都被设置为空字符串。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">system_id</code></em></dt>

         <dd>

          <span class="simpara">
           外部实体的系统标识符。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">public_id</code></em></dt>

         <dd>

          <span class="simpara"> 
           外部实体的公共标识符。
          </span>
         </dd>

        
        
         <dt>
<em><code class="parameter">notation_name</code></em></dt>

         <dd>

          <span class="simpara"> 
           该实体的注释名（请参阅 <span class="function"><a href="function.xml-set-notation-decl-handler.html" class="function">xml_set_notation_decl_handler()</a></span>）。
          </span>
         </dd>

        
       </dl>

      </p>
      <p class="para">
      如果处理器函数名被设置为空字符串或者 <strong><code>FALSE</code></strong>，则该有问题的处理器将被屏蔽。
      </p>
      <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">除了函数名，含有对象引用的数组和方法名也可以作为参数。</span></p></blockquote>
     </dd>

    
   </dl>

  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.xml-set-unparsed-entity-decl-handler-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   成功时返回 <strong><code>TRUE</code></strong>， 或者在失败时返回 <strong><code>FALSE</code></strong>。
  </p>
 </div>

  </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.xml-set-start-namespace-decl-handler.html">xml_set_start_namespace_decl_handler</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="book.xmlreader.html">XMLReader</a></div>
 <div class="up"><a href="ref.xml.html">XML 解析器函数</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
